The present invention is directed toward spread-spectrum radio communications systems that transmit messages with large amounts of redundant coding to provide discrimination of one signal from overlapping signals and, more particularly, toward improved orthogonal coding techniques for coding messages over more than one channel, for example, when the message is spread over more than one frequency channel as in multi-carrier CDMA (Code Division Multiple Access) systems.
FIG. 1 illustrates a prior art orthogonal transmitter, shown generally at including a plurality of information sources 12a-n generating information signals 14a-n, which are received by respective source and error coding units or coders 16a-n. The source and error coding units 16a-n conventionally source and error code the received information signals 14a-n, producing digitally coded information streams 18a-n. Source coding involves converting information to digital form, for example, Analog to Digital conversion of speech, and optionally compressing the digital information using a compression algorithm adapted to the particular type of information, such as speech, FAX, images, etc. Error coding involves expanding the source coded digital data by adding redundancy which enables errors to be corrected and/or detected by a receiver. If desired, the source and error coding units 16a-n may also encrypt the coded information using a key unique to each information source 12a-n. 
In FDMA (Frequency Division Multiple Access) systems, each digitally coded information stream 18a-n from the coders 16a-n is modulated onto a respective frequency channel. Sufficient channel spacing is chosen such that signals on neighboring frequency channels do not interfere with one another and are easily distinguishable by receiver filters. Typically, the channel spacing is slightly greater than the spectral occupancy of the transmitted signal, the excess being regarded as a xe2x80x9cguard bandxe2x80x9d in the frequency plane to allow for factors such as frequency error, etc.
In TDMA (Time Division Multiple Access) systems, each digitally coded information stream 18a-n from the coders 16a-n is modulated onto a respective radio frequency channel in a respective timeslot of a TDMA frame period. The use of a small guard time between timeslots ensures that signals in different timeslots do not interfere with one another even when delayed echos of the transmitted signal are received due to multi-path propagation. However, to ensure non-interference between signals, the echo delay must not be greater than the guard time between timeslots.
The non-interference property between different channels of an FDMA system, or different timeslots of a TDMA system, is typically referred to as xe2x80x9corthogonalityxe2x80x9d between channels. In FDMA and TDMA systems, orthogonality is maintained during signal propagation from the transmitter to the receiver, i.e., unaffected by multi-path propagation, so long as the necessary interslot guard times are utilized. In TDMA systems, the information source signals are multiplexed together and modulated at a higher bitrate onto a carrier. The multiplexed/modulated signal is demodulated by a receiver using an equalizer to compensate for multi-path propagation. The demodulated bits are then partitioned into the different original source information streams. This also represents orthogonality between channels even though no intra-timeslot guard time is used.
In direct-sequence spread-spectrum systems, also known as CDMA systems (see FIG. 1), each digitally coded information stream 18a-n from the coders 16a-n is combined in spread-spectrum coders 20a-n with a respective access code 22a-n that expands the symbol rate of the information stream 18a-n by an amount known as the spreading factor. The symbols, or modulation intervals, of the expanded signal are commonly known as chips, and there are usually an integer number of chips produced for each digitally coded symbol from the coders 16a-n, with the number of chips per symbol equal to the spreading factor.
In orthogonal CDMA systems, the access codes 22a-n with which the digitally coded information streams 18a-n are combined are mutually orthogonal to each other and jointly form a set of orthogonal codes. When the spreading factor is equal to a power of two, a suitable set of orthogonal access codes are the Walsh-Hada-mard codes, i.e., Walsh codes. FIG. 1 illustrates 8-bit Walsh codes 22a-n that may be used when the spreading factor is equal to eight. The Walsh codes 22a-n are orthogonal since between any two codes, half of the bits are the same and the other half are of opposite polarity. This results in the cross-correlation between any two different codes being theoretically zero. It should be noted that since code 11111111 is illustrated for code 22a, the code 00000000 would not be a part of the Walsh-Hada-mard code sequence, since orthogonality between codes would not be sustained. Further, orthogonality is maintained only if the Walsh codes are exactly time-aligned. Time-misaligned codes are not necessarily orthogonal to each other. Therefore, a delayed echo of one code received due to multi-path propagation is not generally orthogonal to the other undelayed codes, resulting in unwanted interference.
The present invention is directed toward overcoming one or more of the above-mentioned problems.
In CDMA systems, a message to be transmitted is redundantly coded for transmission using a combination of error-correction coding and a spread-spectrum access code. The coded message is modulated to a first radio frequency channel, or band, and also to at least one other frequency channel, which may be either an adjacent or a non-adjacent channel. Other messages for transmission are generated likewise and the signals for transmission on the first channel are summed using a set of weighting factors, with the weighted sum transmitted on the first channel. The same signals are summed for transmission on the at least one other frequency channel, but using weighting factors that have a progressive relative phase rotation compared to their values on the first channel. The sequence of weighting factors used for one signal across the different frequency channels is preferably orthogonal to the sequence of weighting factors used for a different signal. For example, the Fourier sequences described by
Wik=exp(2xcfx80ik/n)
may be used, where xe2x80x9cnxe2x80x9d is the number of channels utilized for transmission, xe2x80x9cixe2x80x9d is the index of the channel, and xe2x80x9ckxe2x80x9d is the index of the signal being weighted.
In the special case of n equal to a power of two, the weighting factor sequences may instead be Walsh codes. In this case, a decision whether to invert the signal xe2x80x9ckxe2x80x9d in channel xe2x80x9cixe2x80x9d is determined according to the polarity of the i""th bit of the n-bit Walsh code W(k).
When n is composite and equal to the product of factors n1, n2, n3, . . . , nm, hybrid Walsh-Fourier sequences may be used for the weighting factor sequences, corresponding to an m-dimensional Walsh-Fourier transform, with the option of using the simpler Walsh sequences in dimensions corresponding to a factor of n which is a power of two. Thus, orthogonal sequence sets of any length may be constructed.
When the number of signals to be transmitted is greater than the number of orthogonal functions, i.e., weighting factors, in the set, the signals are divided into a number of groups less than or equal to the number of orthogonal functions in the set. All signals in the same group are then summed for the same frequency channel using the same weighting factors. Different signals within each group may be discriminated by using a set of access or spreading codes that are orthogonal within each frequency channel. Different groups of signals may use, within themselves, the same orthogonal spreading codes, but modified preferably using a Bent sequence for each group that provides maximum differentiation from the codes of other signal groups.
A receiver for receiving and processing the inventive signal construction described above includes multiple receiver channels for receiving signals on the n channels. Multiple channel estimation means estimates, for each channel, the phase and amplitude of each of a number of multiple, delayed propagation paths by which the signal reached the receiver from the transmitter. Each different path taken by the signal is referred to as a ray. To decode a particular signal, the signal received in each channel is first despread using a within-channel spreading code (access code) assigned to that signal to obtain a despread signal, or ray, from each channel for each time-delayed path. Using the channel estimates, the largest of the multiple, delayed propagation paths, i.e., the strongest ray, for each channel is identified.
One despread signal from each channel corresponding to the strongest ray for each channel is then selected and combined by weighting and addition, using weights that are a function of the channel estimate for the respective ray and the weighting factor applied at the transmitter. The receiver weighting factor undoes the difference in phase shifts and attenuation between different channels, and undoes the phase shift of the weighting factor applied in the respective channel prior to transmission. The inventive receiver thus discriminates between signals within each group by means of the within-channel orthogonal codes, and discriminates between signals in different groups by means of the across-channel orthogonal codes.
The second strongest rays of each channel are then selected and combined similarly, and so on until all rays containing significant energy have been used. Each of the combined rays is further combined using a weighting factor for each ray that is a function of the channel estimates to reflect the combined signal-to-interference ratio of each ray. The final combined signal values are then used as soft information for an error-correction decoder to reproduce the originally transmitted information symbols.
In an alternate embodiment, a first signal decoded in the above manner is subtracted from the signal received in each channel, and the residual signals reprocessed to decode a second signal. This process continues iteratively, selecting signals preferably in order of signal strength highest to lowest until all desired signals are decoded.